//C08:RTTIandNesting.cpp
#include <cstdlib>
#include <iostream>
#include <typeinfo>
using namespace std;

class One
{
    class Nested {};
    Nested* n;
    public:
        One() : n(new Nested) {}
        ~One() { delete n; }
        Nested* nested() { return n; }
};

int main(void)
{
    One o;
    cout << typeid(*o.nested()).name() << endl;
}